<?php
class My_Debug extends Zend_Debug
{
	public static function dump($var, $label=null )
    {
    	// Logowanie dumpów do pliku
    	$sNazwaPliku = 'dump_' . date( 'Y-m-d' );
    	$oLog = new Zend_Log( new Zend_Log_Writer_Stream( '../logs/dumps/' . $sNazwaPliku . '.log' ) );	

    	// Nagłówek dumpa
    	$sNaglowek = '<pre>';
    	$oFront = Zend_Controller_Front::getInstance();

    	if( $oFront instanceof Zend_Controller_Front )
    	{
	    	$oRequest = $oFront->getRequest();
	    	
	    	if( $oRequest instanceof Zend_Controller_Request_Abstract )
	    	{
		    	$sNaglowek =	"----- SOURCE: \n" .
		    					'/' . $oRequest->getModuleName() . 
		    					'/' . $oRequest->getControllerName() . 
		    					'/' . $oRequest->getActionName() . "\n" .
		    					"----- REQUEST: \n" . 
		    					parent::dump( $oRequest->getParams(), $label, false );
    		}
    	}
    	
    	// Treść dumpa
    	$sTresc = "----- DUMP: \n" . parent::dump($var, $label, false);	
    	
    	$sDump = $sNaglowek . $sTresc . '</pre>';
    	  	    	
    	// Wypisz dumpa tylko dla wersji produkcyjnej
    	$oDevelConfig = Zend_Registry::get('develConfig');  
    	if( $oDevelConfig->development ) echo $sDump;	
    	
    	// Loguj dumpa dla każdej wersji, ale najpierw 'wyczyść' go z tagów HTML i HTML entities
    	$sCzystyDump = preg_replace( '/<(\/)?pre>/', '', $sDump );
    	$sCzystyDump = html_entity_decode( $sCzystyDump ); 
    	$oLog->debug( "\n" . $sCzystyDump );
	}
}
?>